const Dayjs = require("dayjs");
const MYSQL = require("../../sql/mysql");
const userExist = require("../../api/user/module/exist_user");
const CONFIG = require("../../config");
const veriftConfig = CONFIG.verift;
const sqlName = "verify_code";
/**
 * 创建一个验证码 
 * @brief 本模块创建手机 or 邮箱验证码会发送真实的手机短信 or 邮件验证码
 * @note 创建验证码以存入MYSQL数据库记录状态表示创建是否成功
 * @param {object} params 配置参数
 * @param {String | number} [params.code] 验证码
 * @param {String | number} params.type 验证码用途类型,模块内没有限制,请注意创建和验证时需要一致
 * @param {String} params.email 验证码指定使用的邮箱
 * @param {String | number} params.user 验证码指定使用的用户id
 * @param {String | Number} params.mobile 验证码指定使用的手机号
 * @param {String} [params.comment] 备注文本
 * @return {Promise<{code:number,msg:string,expired_date:number} | {code:number,msg:string}>} 返回Promise
 */
async function CreatedVerifyCode() { }
/**
 * 核销(校验)验证码
 * @param {object} params
 * @param {string | number} params.type 验证码类型
1：支付验证码 （需要查询用户信息   需要查询创建条数）
2：手机验证码找回密码
3：绑定手机
4：验证原手机
5：绑定邮箱
6：解绑邮箱
7：邮箱找回密码
8: 手机验证码登录
9：手机验证码注册
10：邮箱验证码登录
11：邮箱验证码注册
 * @param {string} [params.user] 本次验证码仅用的用户id
 * @param {string} [params.email] 本次验证码作用的邮箱
 * @param {string | number} [params.mobile] 本次验证码作用的手机号
 * @param {string | number } params.code 验证码
 * @return {Promise<{code:number,msg:string} | {code:number,msg:string}>}
 */
async function CheckVerifyCode() { }
/**
 * 作废验证码
 * @param {object} params 验证码id
 * @param {string} params.id 作废的验证码id
 * @param {string} params.state 作废后的验证码状态
 * @return {Promise<{code:number,msg:string} | {code:number,msg:string}>}
 */
async function AbolishVerifyCode() { }
/**
 * 验证码列表
 * @param {String} userid 用户id
 * @param {String} page 用户id
 * @param {String} limit 用户id
 * @param {String} code 用户id
 * @param {String} state 用户id
 */
async function VerifyCodeList() { }